//VALIDACION VACION
function validacion(valor,formato,min,max,objeto,lpregAct){
//1:numero
//2:texto
//3:fecha
//4:hora

if (objeto!='text'){
	if (formato==3){return true;}
	if (localStorage.getItem(lpregAct)==null) {return false;}
	return true;
}
if (validaTexto(valor)==false && formato!=3) {alert('ERROR: campo vacio');return false;}
if (formato==1){if (validarNumero(valor,min,max)==false) {return false;}}
if (formato==2){if (validaTexto(valor)==false) {{alert('ERROR: caracteres no validos');return false;}}}
if (formato==3){
		if (valor.length==0){
			return false;
			}else{
			return true;
			}
}
if (formato==4){if (validaHora(valor)==false) {alert('ERROR: hora no valida');return false;}}
return true;
}

function validaTexto(q) {
		var v=0;
        for ( i = 0; i < q.length; i++ ) {
                if ( q.charAt(i) == " " ) {v++;}
        }
		if (q.length==v){return false;}
        return true;
}

//VALIDACION FECHA

function validaFecha(Cadena){
	if (Cadena==999){return true;}
	var Fecha= new String(Cadena)	// Crea un string
	var RealFecha= new Date()	// Para sacar la fecha de hoy
	// Cadena AÃ±o
	var Ano= new String(Fecha.substring(Fecha.lastIndexOf("-")+1,Fecha.length))
	// Cadena Mes
	var Mes= new String(Fecha.substring(Fecha.indexOf("-")+1,Fecha.lastIndexOf("-")))
	// Cadena DÃ­a
	var Dia= new String(Fecha.substring(0,Fecha.indexOf("-")))
	var lc=Cadena.length;
	if (!(lc==10 || lc==9)){return false;}
	
	if (validarNumero(Ano,0,0)==false){return false;}
	if (validarNumero(Mes,0,0)==false){return false;}
	if (validarNumero(Dia,0,0)==false){return false;}


	// Valido el aÃ±o
	if (isNaN(Ano) || Ano.length<4 || parseFloat(Ano)<1900){
		return false;
	}
	// Valido el Mes
	if (isNaN(Mes) || parseFloat(Mes)<1 || parseFloat(Mes)>12){
		return false;
	}
	// Valido el Dia
	if (isNaN(Dia) || parseInt(Dia, 10)<1 || parseInt(Dia, 10)>31){
		return false;
	}
	if (Mes==4 || Mes==6 || Mes==9 || Mes==11 || Mes==2) {
		if (Mes==2 && Dia > 28 || Dia>30) {
		return false;
		}
	}
	
  return true;	
}


// VALIDACION HORA
function validaHora(cadena)
{
if (cadena==999){return true;}
lc=cadena.length
	if (lc==7){
		var horas=cadena.substring(0,2)
		var separador=cadena.substring(2,3)
		var minutos=cadena.substring(3,5)
		var meridiano=cadena.substring(5,7)
	}
	if (lc==6){
		var horas=cadena.substring(0,1)
		var separador=cadena.substring(1,2)
		var minutos=cadena.substring(2,4)
		var meridiano=cadena.substring(4,6)
	}
	if (validarNumero(horas,0,0)==false){return false;}
	if (validarNumero(minutos,0,0)==false){return false;}
	
	if (!(lc==6 || lc==7)){return false;}
	if (!(horas>=0 && horas<=12)){return false;}
	if (!(separador==':')){return false;}
	if (!(minutos>=0 && horas<=59)){return false;}
	if (meridiano!='AM'  &&  meridiano!='PM' && meridiano!='am'  &&  meridiano!='pm'){return false;}
	return true;
}


   function validarNumero(numero,min,max){
   	if (numero==999){return true;}
    if (!/^([0-9.])*$/.test(numero)) {

		}
	if (isNaN(numero)==true) {alert('ERROR: valor no numerico');return false;}
	//if ((0==min && 0==max)) {return true;}
	//if (!(numero>=min && numero<=max)) {alert('ERROR: valor fuera del rango establecido.');return false;}
	return true;
  }
function convertirNumero(numero){
    if (!/^([0-9])*$/.test(numero)){return 0;}
    return numero;  
  }
  function isNumeric(numero){
    if (!/^([0-9])*$/.test(numero)){return false;}
    return true;  
  }
 function HOY(){
 	var fecha1 = new Date();
	var mes=fecha1.getMonth()+1;
	var dia=fecha1.getDate();
	if (mes<=9){mes="0"+mes;}
	if (dia<=9){dia="0"+dia;}
    var hoy =dia+"/"+mes+"/"+fecha1.getFullYear();
    return hoy;  
 }  
function DIFFECHA (fechaIni,fechaFin,unidad) {
	CadenaFecha1 =fechaIni ;
	CadenaFecha2 = fechaFin ;

	 
	var fecha1 = new Fecha( CadenaFecha1 ) ;
	var fecha2 = new Fecha( CadenaFecha2 ) ;


	var miFecha1 = new Date( fecha1.anio, fecha1.mes, fecha1.dia ) ;
	var miFecha2 = new Date( fecha2.anio, fecha2.mes, fecha2.dia ) ;

	var diferencia =miFecha2.getTime()- miFecha1.getTime();
	var dias = Math.floor(diferencia / (1000 * 60 * 60 * 24)) ;
	var segundos = Math.floor(diferencia / 1000) ;
	return dias;
}
function Fecha( cadena ) { 
	var separador = "/" ;
	if ( cadena.indexOf( separador ) != -1 ) { 
		var posi1 = 0 ;
		var posi2 = cadena.indexOf( separador, posi1 + 1 ) ;
		var posi3 = cadena.indexOf( separador, posi2 + 1 ) ;
		this.dia = cadena.substring( posi1, posi2 ) ;
		this.mes = cadena.substring( posi2 + 1, posi3 ) ;
		this.anio = cadena.substring( posi3 + 1, cadena.length ) ;
	} else { 
		this.dia = 0 
		this.mes = 0 
		this.anio = 0 
	} 
} 
function TIEMPODIAS (cantidad,unidad) {
   if (unidad==1){return cantidad;}   
   if (unidad==2){return cantidad*30;}   
   if (unidad==3){return cantidad*365;}
}

 
function SELECCIONI(cadena,i){
    fin=i*5;
	ini=fin-5;
	//alert(cadena.substring(ini,fin));
	if (cadena.substring(ini,fin)=="true ") {return 1;}else{return 0;}
}  
  
function CHECKI(cadena,i){
    fin=i*5;
	ini=fin-5;
	if (cadena.substring(ini,fin)=="true ") {return 1;}else{return 0;}
}    
function CONTARSELECCION(cadena){
 var n=0;
 n=cadena.length;
 var contador=0;
 for (i=0;i<=n;i++){
	if (cadena.substring(i,i+5)=="true "){contador++;}
 }
 return contador;
} 

function CHECKCOUNT(cadena){
 var n=0;
 n=cadena.length;
 var contador=0;
 for (i=0;i<=n;i++){
	if (cadena.substring(i,i+5)=="true "){contador++;}
 }
 return contador;
}   
  
  
  
function ALERTA(mesaje){
	var largo=0;
	largo=mesaje.length;
	if (largo>0){
		alert(mesaje);
		return 0;
	}else{
		return 0;
	};
}  
  
  
function SI(condicion,cierto,falso){
	if (eval(condicion)){
		eval(cierto)
	}else{
		eval(falso)
	};
}
function NO(condicion,cierto,falso){
	if (!eval(condicion)){
		eval(cierto)
	}else{
		eval(falso)
	};
	return;
}
function Y(cadena){
  var condicion="";
  for (x=0;x<arguments.length;x++){
    if (x!=arguments.length-1){condicion+=arguments[x]+" && ";}else{condicion+=arguments[x]};
  }
  condicion="if(" +condicion+ "){valor= true;}else{valor= false;}"
  eval(condicion);
  return valor;
}
function O(cadena){
  var condicion="";
  for (x=0;x<arguments.length;x++){
    if (x!=arguments.length-1){condicion+=arguments[x]+" || ";}else{condicion+=arguments[x]};
  }
  condicion="if(" +condicion+ "){valor= true;}else{valor= false;}"
  eval(condicion);
  return valor;
}
function PASE(cadena){
	borra(eval(pregAct),eval(cadena));
	localStorage.setItem('pregImp',letra+cadena);
	location.reload(true);
}
function SALTO(cadena){
	//borra(eval(pregAct),eval(cadena));
	localStorage.setItem('pregImp',letra+cadena);
	location.reload(true);
}
function SIGUIENTE(cadena){
	localStorage.setItem('pregImp',letra+eval(cadena+1));
	location.reload(true);
}
function ANTERIOR(){
	valor=extraeValor(localStorage.getItem(NombreObjeto));
	if (valor==null || valor==""){return;}
	ini=pregAct-1;
	for (i=ini;i>0;i--){
		if (localStorage.getItem(letra+i)!=null){
			localStorage.setItem('pregImp',letra+i);
			location.reload(true);
			return;
		}
	}
	return;
}
function FIN(){

cadena=eval(localStorage.getItem('nvariables')+1);
	borra(eval(pregAct),eval(cadena));
	javainterface.cambiarestadosql(eval(localStorage.getItem('idproyecto')),eval(localStorage.getItem('idformulario')), 1, "proyectos");
	location.href="fin.htm";
}
//******** FUNCIONES EN INGLES
function ALERT(mesaje){
	var largo=0;
	largo=mesaje.length;
	if (largo>0){
		alert(mesaje);
		return 0;
	}else{
		return 0;
	};
}

function IF(condicion,cierto,falso){
	if (eval(condicion)){
		eval(cierto)
	}else{
		eval(falso)
	};
}
function NOT(condicion,cierto,falso){
	if (!eval(condicion)){
		eval(cierto)
	}else{
		eval(falso)
	};
}
function AND(cadena){
  var condicion="";
  for (x=0;x<arguments.length;x++){
    if (x!=arguments.length-1){condicion+=arguments[x]+" && ";}else{condicion+=arguments[x]};
  }
  condicion="if(" +condicion+ "){valor= true;}else{valor= false;}"
  eval(condicion);
  return valor;
}
function OR(cadena){
  var condicion="";
  for (x=0;x<arguments.length;x++){
    if (x!=arguments.length-1){condicion+=arguments[x]+" || ";}else{condicion+=arguments[x]};
  }
  condicion="if(" +condicion+ "){valor= true;}else{valor= false;}"
  eval(condicion);
  return valor;
}
function GOTO(cadena){
	borra(eval(pregAct),eval(cadena));
	localStorage.setItem('pregImp',letra+cadena);
	location.reload(true);
}
function NEXT(cadena){
	localStorage.setItem('pregImp',letra+eval(cadena+1));
	location.reload(true);
}
function PREVIEW(){
	valor=fxvalor(localStorage.getItem(NombreObjeto));
	if (valor==null || valor==""){return;}

	for (i=pregAct-1;i>0;i--){
		if (localStorage.getItem(letra+i)!=null){
			localStorage.setItem('pregImp',letra+i);
			location.reload(true);
			return;
		}
	}
	return;
}
function END(){
	cadena=eval(localStorage.getItem('nvariables')+1);
	borra(eval(pregAct),eval(cadena));
	location.href="fin.htm";
}

function evaluar(cadenaini){
	var valor;
	valor=extraeValor(localStorage.getItem(NombreObjeto));
	//alert(valor);
	if (valor==null || valor=="" && formato!=3){
		return;
	}
	if (validacion(valor,formato,liMin,lsMax,TipoObjeto,NombreObjeto)){
		eval(cadenaini);
	}else{
		return;
	}
	
}